/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.uniceub.fsw.talentos.dao;

import br.uniceub.fsw.arquitetura.persistencia.dao.BaseDAO;
import br.uniceub.fsw.arquitetura.persistencia.dao.ConstrutorSQL;
import br.uniceub.fsw.talentos.vo.CargoSalarioVO;
import br.uniceub.fsw.talentos.vo.CargoVO;
import br.uniceub.fsw.talentos.vo.SalarioVO;
import java.io.Serializable;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

/**
 *
 * @author WinAdmin
 */
public class CargoSalarioDAO extends BaseDAO<CargoSalarioVO>{

    @Override
    public void inserir(CargoSalarioVO entidade) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void alterar(CargoSalarioVO entidade) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void excluir(CargoSalarioVO entidade) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public CargoSalarioVO consultarPorId(Serializable id) {

        CargoSalarioVO cargosalario = null;

        ConstrutorSQL query = new ConstrutorSQL();

        query.append("SELECT * FROM TB_Cargo T WHERE T.ID_Cargo = ?");

        cargosalario = consultarUm(query.toString(), criarParametros(id));

        return cargosalario;
        //        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public List<CargoSalarioVO> consultarPorExemplo(CargoSalarioVO cargoSalario) {

        List<CargoSalarioVO> listaRetorno = null;

        ConstrutorSQL query = new ConstrutorSQL();

       query.append("SELECT * FROM TB_Cargo T WHERE 1=1");
 //       query.append("SELECT * FROM TB_Cargo T");

        mapearQueryParaExemplo(query, cargoSalario);

        listaRetorno = consultar(query.toString(), recuperarParametros());

        return listaRetorno;
        
        //        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    protected CargoSalarioVO extrairObjetoResultado(ResultSet rs) throws SQLException {

        List<CargoSalarioVO> listaRetorno = null;
        
        CargoSalarioDAO cargoSalario = new CargoSalarioDAO();

        ConstrutorSQL query = new ConstrutorSQL();

        query.append("SELECT * FROM TB_Cargo T");

        if(cargoSalario != null) {
            query.append(", TB_Salario C");
        }

        query.append("WHERE 1=1");

        if(cargoSalario != null) {
            query.append("AND T.ID_Cargo = C.CD_Cargo");
        }

        mapearQueryParaExemploParaParametros(query, cargoSalario);

        listaRetorno = consultar(query.toString(), recuperarParametros());

        return (CargoSalarioVO) listaRetorno;
        //        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    protected void mapearQueryParaExemplo(ConstrutorSQL query, CargoSalarioVO exemplo) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    private void mapearQueryParaExemploParaParametros(ConstrutorSQL query, CargoSalarioDAO cargoSalario) {
        throw new UnsupportedOperationException("Not yet implemented");
    }

}
